package main.java.com.jlpay.open.jlpay.sdk.java.model.openmerch.bill.request;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.jlpay.open.jlpay.sdk.java.model.OrgBaseReq;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 结算账单查询请求
 *
 * @author liaochangyi
 * @since 2024/12/28
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class SettleBillQueryRequest extends OrgBaseReq {

    /**
     * 商户号
     */
    private String merchNo;

    /**
     * 开始营业日期
     * 订单交易日期（订单交易日期/订单清算日期，二选一），结束时间减开始时间不能超过30天， yyyy-MM-dd
     */
    private String startBusiDate;

    /**
     * 结束营业日期
     * 订单交易日期（订单交易日期/订单清算日期，二选一），结束时间减开始时间不能超过30天， yyyy-MM-dd
     */
    private String endBusiDate;

    /**
     * 开始结算日期
     * 订单结算日期（订单交易日期/订单清算日期，二选一）， yyyy-MM-dd
     */
    private String startSettleDate;

    /**
     * 结束结算日期
     * 订单结算日期（订单交易日期/订单清算日期，二选一）， yyyy-MM-dd
     */
    private String endSettleDate;

    /**
     * 付款状态
     * 0-待付款
     * 1-付款成功
     * 2-付款失败
     * 3-无需付款
     */
    private String payStatus;

    @Override
    public String path() {
        return "/open/bill/settle-bill/query";
    }
} 